package hot_100;

import javax.xml.stream.XMLInputFactory;

/**
 * @author: Darven
 * @createTime: 2025-09-28  00:37
 * @description: TODO
 */
public class P240 {
//    public boolean searchMatrix(int[][] matrix, int target) {
//        int n=matrix.length;
//        int i=0;
//        int j=matrix[0].length-1;
//        while(i<n&&j>=0){
//            if(target==matrix[i][j]){
//                return true;
//            }
//
//            if(matrix[i][j]>target){
//                j--;
//            }else{
//                i++;
//            }
//        }
//
//        return false;
//    }

    public boolean searchMatrix(int[][] matrix, int target) {
        int n=matrix.length;
        for(int i=0;i<n;i++){
            int res=binarySearch(matrix[i],target);
            if(res!=-1){
                return true;
            }
        }

        return false;
    }

    private int binarySearch(int[] nums,int target){
        int l=0;
        int r=nums.length;

        while(l<r){
            int mid=(l+r)>>2;

            if(nums[mid]==target){
                return mid;
            }else if(nums[mid]>target){
                r=mid-1;
            }else{
                l=mid+1;
            }
        }
        return -1;
    }
}
